package com.jctrip.hotel.source.service.atour;

import com.jctrip.hotel.source.model.atour.AtourIncrNotifyData;

import java.util.List;

/**
 * @Author henry
 * @Date 2023/6/3 15:13
 * @Description
 */
public interface AtourTaskService {

    void syncAtourCityIdListTaskFastPush(Integer appId, String key);

    void syncAtourHotelIdListTaskFastPop(Integer appId, String key) ;

    void syncAtourHotelIdTask(Integer appId, String key, Integer cityId);

    void syncAtourHotelInfoListTaskFastPush(Integer appId, String key);

    void syncAtourHotelInfoListTaskFastPop(Integer appId, String key);

    void syncAtourHotelInfoTask(Integer appId, String key, Integer hotelId);

    void syncAtourRatesTaskPush();

    void syncAtourLongerRatesTaskPush();

    void syncAtourRatesTaskFastPop(Integer appId, String key, Integer mebId,Integer days);

    void syncAtourLongerRatesTaskFastPop(Integer appId, String key, Integer mebId, Integer addDays, Integer days);

    void syncAtourHotspotRatesTaskPush();

    void syncAtourHotspotRatesTaskFastPop(List<String> sourceIds, Integer days);

    void syncAtourRatesTaskPop(Integer appId, String key, Integer hotelId, String start, String end,Integer mebId);

    void syncAtourPartRatesPush();

    void syncAtourPartLongerRatesPush();

    void syncAtourPartRatesPop(List<String> sourceIds, Integer days);


    void syncAtourPartLongerRatesPop(List<String> sourceIds, Integer addDays, Integer days);

    void syncAtourPartRates(String sourceId, Integer appId, String key,
                            Integer hotelId, String start, String end,Integer mebId);

    void syncAtourRoomRepairPush();

    void syncAtourRoomRepairPop(Integer appId, String key, Integer mebId);

    void syncAtourRoomRepair(Integer appId, String key, Integer hotelId, String start, String end,
                             Integer mebId);

    void syncAtourPicPush();

    void syncAtourPicPop(String sourceAppId, String sourceSecret);

    void syncAtourPic(String appId, String secret, String hotelId);

    void syncAtourIncrCallBackProcess(List<AtourIncrNotifyData> atourIncrNotifyData);
}
